Impact of Refactoring on Code Quality Improvement in Software Maintenance

نویسندگان

  • S. H. Kannangara
  • W. M. J. I Wijayanayake
چکیده

Quality software are robust, reliable and easy to maintain, and therefore reduces the cost of software maintenance. But as software systems undergo modifications, improvements and enhancements to cope with evolving requirements, quality of software can be decreased. Refactoring is one of the methods which have been applied to improve software quality. Supporters claim that it helps increasing the quality of the code, making it easier to understand, modify and maintain. However, there is only limited empirical evidence of such assumption. Therefore it is sometimes difficult to judge whether the refactoring in question should be applied or not without knowing the effect accurately. The purpose of this study is to validate/invalidate the claims that refactoring improves software quality. Experimental research approach is used to achieve the main objectives of this study which is to quantitatively measure the impact of refactoring on code quality improvement in software maintenance. Ten refactoring techniques were evaluated through the experiment in order to access Resource Utilization, Changeability and Analysability which are ISO sub Quality factors. The result for analysability shows a slight advantage for refactoring, but the assumption of increased analysability does not answered from the analysability test. Concerning changeability, both the result and hypothesis test shows disadvantage for refactored code. The analysis of resource utilization also provides hints on disadvantages of the refactoring technique like increase resource consumption in terms of obtained disk space by source files.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An Empirical Evaluation of Impact of Refactoring On Internal and External Measures of Code Quality

Refactoring is the process of improving the design of existing code by changing its internal structure without affecting its external behaviour, with the main aims of improving the quality of software product. Therefore, there is a belief that refactoring improves quality factors such as understandability, flexibility, and reusability. However, there is limited empirical evidence to support suc...

متن کامل

MultiRefactor: Automated Refactoring to Improve Software Quality

In this paper, a new approach is proposed for automated software maintenance. The tool is able to perform 26 different refactorings. It also contains a large selection of metrics to measure the impact of the refactorings on the software and six different search based optimization algorithms to improve the software. This tool contains both monoobjective and multi-objective search techniques for ...

متن کامل

Web Application Evaluation and Refactoring: A Quality-Oriented Improvement Approach

Web applications must be usable and accessible; at the same time, their continuous evolution makes it difficult to keep a high degree of external quality. Refactoring is a practice of agile methods well-suited for the maintenance and evolution of Web applications. However, this practice is mainly intended and used to improve maintainability and extensibility of the design and code rather than e...

متن کامل

On Choosing Program Refactoring and Slicing Re-engineering Practice Towards Software Quality

The quality of software depends on its maintainability. Software under evolution is modified and enhanced to accommodate new requirements. As a result, the software becomes more complex and deviates from its original design, in turn lowering the quality. Program Slicing and refactoring as program re-engineering approaches, makes software systems maintainable. Effective slicing and refactoring r...

متن کامل

Handling of Software Quality Defects in Agile Software Development

Software quality assurance is concerned with the efficient and effective development of large, reliable, and high-quality software systems. In agile software development and maintenance, refactoring is an important phase for the continuous improvement of a software system by removing quality defects like code smells. As time is a crucial factor in agile development, not all quality defects can ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013